nginx 将日志文件换成json串格式

在conf/nginx.conf文件中,可以设置日志的格式


#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" 

#  '$status $body_bytes_sent "$http_referer" '

#  '"$http_user_agent" "$http_x_forwarded_for"';


#以上是默认的日志格式

#以下是按json串生成日志


log_format main '{"@timestamp":"$time_iso8601",'

'"@version":"1",'

'"server_addr":"$server_addr",'

'"remote_addr":"$remote_addr",'

'"host":"$host",'

'"uri":"$uri",'

'"body_bytes_sent":$body_bytes_sent,'

'"bytes_sent":$body_bytes_sent,'

'"upstream_response_time":$upstream_response_time,'

'"request":"$request",'

'"request_length":$request_length,'

'"request_time":$request_time,'

'"status":"$status",'

'"http_referer":"$http_referer",'

'"http_x_forwarded_for":"$http_x_forwarded_for",'

'"http_user_agent":"$http_user_agent"'

'}';


默认情况下不管配置有几个代理,Nginx的日志都会记录到 logs/access.log文件中,如果想按不同的代理生成不同的文件名,则可以这样配置:


在server块中加入access_loglogs/xxx.log  main; (XXX自取名字)

每个server加入不同的日志文件名,即可生成不同的日志文件。


该文章对你有帮助吗,求分享转发: 分享到QQ空间 分享给QQ好友

 

 

粤ICP备19116230号
友情链接: 码农藏书阁 天天链